1. Field of the Invention
The present invention relates generally to data processing systems, and more specifically to a mechanism for protecting data in a data processing system.
2. Description of the Prior Art
Various schemes are known in the art for protecting data in data processing systems. Examples of known protection mechanisms include access lists for files and programs, and password protection for access to selected data. Numerous techniques are known for ensuring that only appropriate users have access to sensitive data.
Permission to perform only selected functions on data is also common. For example, users may be given access to selected files for only limited purposes. Users may be allowed to only read the particular data file, they may be allowed to read from a file and write (update) that file, or they may be authorized to read, write and delete that file. Access lists can be used to designate which users have some or all types of access to any particular file or groups of files.
In many systems, access to data is performed through a system level interface. This interface is a low level procedure which contains trusted code and can only be invoked by other procedures through well defined system calls or similar interfaces. This interface has the capacity for performing data accesses and manipulations which are denied to normal applications. For example, such an interface typically has the capability of keeping internal information which is hidden from calling applications.
In a typical system of this type, a user invokes an application, which in turn accesses data through the low level system interface. To provide security for sensitive data, the application must determine whether the user has authority to access the information. However, such a technique for limiting access suffers from a limitation in that other applications can access sensitive data, either accidentally or unknowing of restrictions which have been placed on access to that data. In order to try to ensure security of data, application programs must perform suitable checking to ensure that user access of data is appropriate. This can place significant burdens on the application programs, and still often fall short in adequate control of access to sensitive data.
It would be desirable to provide a system and method for providing improved data security in a data processing system.